package com.fyy.singleton;

/**
 * @Author fyy
 * @Description 双重校验锁
 * @Date 2020/7/17 14:08
 */
public class DCLSingleton {

    //创建一个私有的对象
    private static DCLSingleton singleBean = null;

    //构造方法私有化，使其不能被实例化
    private DCLSingleton(){

    }

    //获取唯一可用对象,需要时再实例化
    //添加synchronized锁,实现线程安全
    public static DCLSingleton getInstance(){
        if(null == singleBean){
            synchronized (DCLSingleton.class){
                if(null == singleBean){
                    singleBean = new DCLSingleton();
                }
            }
        }
        return singleBean;
    }


}
